Wireless communication systems are currently undergoing a shift in technology, from the circuit switched technology in second generation systems like GSM to packet data switched systems in third generation and future communication systems. The change of technology is driven by the increasing demands on services other than voice communication, such as multimedia services and web browsing combined with requirements on efficient use of the scarce radio recourses and increased flexibility. The packet data based communication technology exhibits vast possible improvements compared to circuit switch technology with regards to flexibility, possible throughput (bit rate) and the possibility to adapt to changing radio environment.
One problem in packet based systems is that some packets may not be received by their intended recipients. This is generally solved by different types of retransmission procedures. To make retransmission procedures efficient, each receiver usually informs the sending unit about the packets it has received, for example, through acknowledgement messages. Packets that are not received by the intended recipient can be retransmitted. Such retransmission procedure is often denoted Automatic repeat request (ARQ)
ARQ may be beneficial in any communication systems, but is normally deemed vital for data communication over the air interface in cellular wireless communication systems. This is also true for multihop systems, also known as mesh network oriented systems, and in ad hoc oriented systems. The data is, prior to the transmission, typically divided into smaller packets, protocol data units (PDU). A reliable transfer is enabled by encoding packets with an error detecting code, such that the receiver can detect erroneous or lost packets and thereby request a retransmission. The data sequence integrity is normally accomplished by sequential numbering of packets and applying certain transmission rules.
In the most simple form of ARQ, commonly referred to as Stop-and-Wait ARQ, the sender of data stores each sent data packet and waits for an acknowledgement from the receiver of a correctly received data packet, by the way of a acknowledgement message (ACK). When the ACK is received, the sender discards the stored packet and sends the next packet. The process is typically supplemented with timers and the use of negative acknowledgement messages (NACK). The sending entity uses a timer, which is started on the transmission of a data packet, and if no ACK (or NACK) has been received before the timer expires, the data packet is retransmitted. If the receiver detects errors in the packet, it can send a NACK to sender. Upon receiving the NACK, the sender retransmits the data packet without waiting for the timer to expire. If the ACK or NACK message is lost, the timer will eventually expire and the sender will retransmit the data packet.
Some packets are received by other recipients than the intended recipient. Traditionally these packets have just been discarded as useless information.
Co-pending application PCT/SE2005/001144 discloses an improved scheduling and coding method and arrangement exploiting the fact that information is received by other nodes in the system than the initially designated receiving node. The method is suitable in communication systems utilizing automatic repeat request (ARQ) or multihop scheduling and forwarding, wherein the media is unreliable, is needed.
This co-pending application proposes a method and an arrangement facilitating the use of overheard information, which would have been discarded in conventional systems, for improving the encoding and scheduling in a sending node. According to the method each receiving node selectively stores received information as a priori information and feeds back information about their respective stored a priori information to a sending node, for example, in the form of Acknowledgements messages. The sending node forms packets, which will in this document be referred to as composite data packets. A composite data packet is formed by jointly encoding multiple data packets to multiple users into a single packet, i.e. the composite packet. The composite packet is formed and scheduled at least partly based on the feedback about the receiving nodes respective a priori information. The sending node transmits the composite data packet to a plurality of receiving nodes. Upon receiving a composite data packet the receiving nodes uses their stored a priori information in the process of extracting data for themselves from the composite data packets. In addition, and in combination with the a priori information feedback, the sending node may utilize conventional feedback, i.e. regular Acknowledgements, informing about received data packets that have been received by the designated receiver or receivers.
The solution described in the co-pending application is applicable in multiuser ARQ (MU-ARQ) that targets multiple Unicast ARQ (e.g. in cellular and multihop systems) sessions from a single sender, as well as in multihop systems where information overhearing may also stem from other senders than the sender node.
With the solution according to the co-pending application fewer data packets need to be sent from the sending node to the plurality of receiving nodes to achieve correct reception of transmitted data packets. The co-pending application proposes a method for optimizing the selection of packets to combine based on the Cartesian product.
In this case, the sender has information about the regular packets, composite packets, and partially decoded composite packets that have been received by the receivers, and based on this, at each transmit instant the sender can form a composite packet given the situation of a priori information in the receiver.